Wireless communication systems allow wireless devices to communicate without the necessity of wired connections. Because wireless systems have become so integrated into daily life, there is a growing demand for wireless communication systems that support multimedia services such as speech, audio, video, file and web downloading, and the like. To support these multimedia services for wireless devices, various wireless communication systems and protocols have been developed to accommodate the growing demands of multimedia services over wireless communication networks.
One such protocol is Wideband Code Division Multiple Access (W-CDMA), which is promulgated by the 3rd Generation Partnership Project (3GPP™), a collaboration of numerous standards development organizations. W-CDMA is a wideband spread-spectrum mobile air interface that uses a direct sequence Code Division Multiple Access (CDMA).
Communication in such wireless systems may include both single-hop and multi-hop transmission. In single-hop wireless transmission, an origination node communicates directly with the destination node. In contrast, in multi-hop wireless transmission, an origination node of a wireless system may communicate with a destination node using one or more intermediate nodes, sometimes called relay nodes. In some systems, the relay node may be referred to as a relay station, and the combination of nodes and connections between an originating node and a destination node may be referred to as a transmission path. Relay-based systems may be found in any type of wireless network.
FIG. 1 is a diagram of an exemplary prior art wireless network 100 having both multi-hop and single-hop transmission. The exemplary wireless network 100 of FIG. 1 is based on the Institute of Electrical and Electronics Engineers (IEEE) 802.16 family of standards. As shown in FIG. 1, wireless network 100 may include one or more transmitters, e.g., base station (BS) 110, one or more relay stations (RS) 120, including RSs 120a, 120b, and 120c, and one or more subscriber stations (SS) 130, including SSs 130a, 130b, 130c, and 130d. 
In wireless network 100, communication between an origination node (e.g., BS 110) and a destination node (e.g., SS 130a, SS 130b, SS 130c, SS 130d, etc.) may be achieved using one or more relay stations (e.g., RS 120a, RS 120b, RS 120c, etc.). For example, in wireless network 100, RS 120a may receive data from BS 110 and send the data to another relay station (e.g., RS 120b). Alternatively, RS 120a may receive data from another relay station (e.g., RS 120b), and send it to BS 110. As another example, RS 120c may receive data from RS 120b and send the data to a supported subscriber station (e.g., SS 130a). Alternatively, RS 120c may receive data from a subscriber station (e.g., SS 130a), and send it to a dominant relay station (e.g., RS 120b). These are examples of multi-hop transmissions. In single-hop transmission in wireless network 100, communication between the origination node (e.g., BS 110) and the destination node (e.g., SS 130d) may be achieved directly. For example, BS 110 may send data directly to SS 130d, and SS 130d may send data directly to BS 110.
A wireless system 100, such as described in FIG. 1, may implement a Media Access Control (MAC) frame format based on the IEEE 802.16 family of standards using Orthogonal Frequency-Division Multiple Access (OFDMA). In wireless system 100, transmission time may be divided into variable length sub-frames: an uplink (UL) sub-frame and a downlink (DL) sub-frame. Generally, the UL sub-frame may include ranging channels, a channel quality information channel (CQICH), and UL data bursts containing data.
The DL sub-frame may include a preamble, a Frame Control Header (FCH), a DL-MAP, a UL-MAP, and a DL data burst area. The preamble may be used to provide a reference for synchronization. For example, the preamble may be used to adjust a timing offset, a frequency offset, and power. The FCH may contain frame control information for each connection including, for example, decode information for SSs 130.
The DL-MAP and UL-MAP may be used to allocate channel access for both uplink and downlink communication. That is, the DL-MAP may provide a directory of access slot locations within the current downlink sub-frame, and the UL-MAP may provide a directory of access slot locations within the current uplink sub-frame. In the DL-MAP, this directory may take the form of one or more DL-MAP Information Elements (MAP IEs). Each MAP IE in the DL-MAP may contain parameters for a single connection (i.e., the connection with a single SS 130). These parameters may be used to identify where, in the current sub-frame, a data burst may be located, the length of the data burst, the identity of the intended recipient of the data burst, and one or more transmission parameters.
For example, each MAP IE may contain a Connection ID (CID), identifying the destination device (e.g., SS 130a, SS 130b, SS 130c, SS 130d, etc.) for which a data burst is intended, a Downlink Interval Usage Code (DIUC), representing a downlink interval usage code by which downlink transmission is defined, an OFDMA Symbol Offset, indicating the offset of the OFDMA symbol in which a data burst starts, a sub-channel offset, indicating the lowest-index OFDMA sub-channel for carrying the burst, etc. Other parameters may also be included in the MAP IE such as, for example, a boosting parameter, a parameter indicating a number of OFDMA symbols, a parameter indicating a number of sub-channels, etc. As used herein, prior art MAC headers (e.g., FCH) and MAP IEs may be referred to as connection-switched control data.
The DL-MAP and UL-MAP may each be followed by the data burst area. The data burst area may include one or more data bursts. Each data burst in the data burst area may be modulated and coded according to the control type of a corresponding connection-switched control data. Generally, the DL-MAP and UL-MAP may be referred to as packet data units (PDUs) or simply packet data.
An exemplary transmission control mechanism for use in systems such as the wireless network 100 of FIG. 1 is Automatic Repeat Request (ARQ). Using ARQ, the devices of a wireless system (e.g., BS 110, RSs 120a, 120b, and 120c, and SSs 130a, 130b, 130c, and 130d, etc.) may be configured to retransmit packet data when the packet data is either not received by the intended recipient or received with errors. The ARQ transmission control mechanism may use a combination of ACKs, NACKs, and timeouts to communicate the status of transmitted data. Exemplary ARQ protocols may include Stop-And-Wait (SAW), Go-Back-N, and Selective Repeat.
In a wireless system using ARQ transmission control mechanisms, when the receiving device receives packet data (new or retransmitted), the receiving device may generate and send either an ACK or a NACK to the transmitting device. An ACK may be an acknowledgment indicator, included within or as an attachment to a message, and may be sent by a receiver to a transmitter to indicate that the receiver has correctly received the transmitted data. A NACK may be a negative acknowledgment indicator, included within or as an attachment to a message, and may be sent by a receiver to the transmitter indicating that the transmitted data has been received with one or more errors.
FIG. 2 is a signaling diagram 200 illustrating operation of an exemplary end-to-end ARQ transmission control mechanism. As shown in FIG. 2, in systems implementing distributed resource allocation, each node in the transmission path allocates resources to the next node in the relay path. For example, in a system implementing distributed resource allocation, BS 110 may allocate resources for RS 120a, denoted by the arrow between BS 110 and RS 120a. Similarly, RS 120a may allocate resources for RS 120b, denoted by the arrow between RS 120a and RS 120b, and so on. In a system using centralized resource allocation, BS 110 may transmit control information to all nodes in a transmission path, e.g., RS 120a, RS 120b, RS 120c, and SS 130a, to perform resource allocation. In either case, after the resource allocation has been completed, BS 110 may send data to the destination node, SS 130a via the intermediate nodes RS 120a, RS 120b, and RS 120c. In addition, BS 110 may store a copy of the sent data in a buffer. In the example of FIG. 2, the data may consist of eight (8) packets of data.
RS 120a may successfully receive the 8 packets of data, store a copy of the data in its buffer, and send the data to RS 120b. Between RS 120a and RS 120b, however, 2 packets of data may be lost due to corruption, interference, error, etc., and RS 120b may receive only 6 packets of data. RS 120b may transmit the 6 packets of data to RS 120c and store a copy of the transmitted data in its buffer. Similarly, RS 120c may receive the 6 packets of data, transmit the 6 packets of data to SS 130a, and store a copy of the transmitted data in its buffer. However, between RS 120c and SS 130a another 3 packets of data may be lost, resulting in only 3 packets of data being successfully received by SS 130a. Upon receipt of the 3 packets of data, SS 130a may send an ACK indicator along the uplink transmission path to BS 110 via RS 120c, RS 120b, and RS 120c. The ACK indicator may be used to identify and acknowledge successful receipt of the 3 packets of data. When BS 110 receives the ACK indicator, BS 110 may purge the buffer of the identified 3 packets of data.
Once BS 110 has purged the buffer, BS 110 may prepare 3 packets of new data to transmit to SS 130a. In some scenarios, BS 110 may communicate with each of RSs 120a, 120b, and 120c to determine how to localize retransmission of data so that each RS 120 can receive the correct data from its most direct node in the uplink direction (i.e., superordinate node). When BS 110 has determined how to localize retransmission, BS 110 may then re-allocate the resources along the transmission path by means of the centralized allocation of resources. Alternatively, performing distributed allocation of resources, each node in the transmission path may re-allocate resources to a next node along the transmission path (uplink or downlink). In either case, once the resources have been re-allocated, BS 110 may then send the 3 packets of new data to SS 130a via RS 120a. RS 120a may then add the 2 packets of data lost between RS 120a and RS 120b to the data for retransmission to RS 120b (i.e., Data (2+3′)). RS 120b may receive Data (2+3′), transmit Data (2+3′) to RS 120c, and store the new data (i.e., Data (3′)) in its buffer. Similarly, RS 120c may receive Data (2+3′) and add the 3 packets of data lost between RS 120c and SS 130a to Data (2+3′) resulting in Data (5+3′). RS 120c may transmit Data (5+3′) to SS 130a, and store a copy of the new data (i.e., Data (3′)) in its purge buffer. SS 130a may receive both the new and retransmitted data (i.e., Data (5+3′)), and transmit an ACK indicator to BS 110 via RS 120a, RS 120b, and RS 120c. The transmitted ACK indicator may acknowledge receipt of 8 packets of data (i.e., ACK (5+3′)), with 3 packets being new data and 5 packets being retransmitted data. Upon receipt of the ACK indicator, BS 110 may purge its buffer of both the new and old data.
FIG. 3a is a signaling diagram 300a illustrating operation of an exemplary ARQ transmission control mechanism operable in systems employing two-segment or hop-by-hop ARQ. In a system using a two-segment ARQ transmission control mechanism, an access node (e.g., intermediate nodes RS 120a, RS 120b, and RS 120c) sends an ACK indicator back to the transmitting node (e.g., BS 110) to indicate the current state of the transmission and whether or not the transmission is successfully received by the access node. Here, an access node refers to the intermediate node (e.g., RS 120a, RS 120b, RS 120c, etc.) communicating directly with the intended destination node (e.g., SS 130a, SS 130b, SS 130c, SS 130d, etc.). For example, the access node corresponding to SS 130a may be RS 120c. 
Similarly to FIG. 2, FIG. 3a shows that BS 110 may transmit control information to all nodes in a transmission path to perform resource allocation in a system performing centralized allocation of resources. For example, for a transmission path from BS 110 to SS 130a, BS 110 may perform resource allocation for RS 120a, RS 120b, RS 120c, and SS 130a. In the alternative, in a system performing distributed allocation of resources, each node in the transmission path may allocate resources to a next node along the transmission path (uplink or downlink). For example, for a transmission path from BS 110 to SS 130a, BS 110 may perform resource allocation from BS 110 to RS 120a, RS 120a may perform resource allocation from RS 120a to RS 120b, RS 120b may perform resource allocation from RS 120b to RS 120c, and RS 120c may perform resource allocation from RS 120c to SS 130a. In either case, once the resource allocation has been completed, BS 110 may send data to the destination node, SS 130a, via the intermediate nodes RS 120a, RS 120b, and RS 120c. In addition, BS 110 may store a copy of the sent data in a buffer. In the example of FIG. 3a, the data may consist of eight (8) packets of data.
RS 120a may successfully receive the 8 packets of data, store a copy of the received data in its buffer, and send the data to RS 120b. Between RS 120a and RS 120b, however, 2 packets of data may be lost due to corruption, interference, error, etc., and RS 120b may receive only 6 packets of data. RS 120b may transmit the 6 packets of data to RS 120c and store a copy of the transmitted data in its buffer. In addition, RS 120b may send an ACK indicator to BS 110 acknowledging receipt of 6 packets of data.
RS 120c may receive the 6 packets of data, transmit the 6 packets of received data to SS 130a, and store a copy of the transmitted data in its buffer. RS 120c may send a pre-ACK indicator to BS 110 acknowledging receipt of the 6 packets of data. In the transmission between RS 120c and SS 130a, however, another 3 packets of data may be lost, resulting in only 3 packets of data being successfully received by SS 130a. Upon receipt of the 3 packets of data, SS 130a may send an ACK indicator along the uplink transmission path to BS 110 via RS 120c, RS 120b, and RS 120c. The ACK indicator may be used to identify and acknowledge successful receipt of the 3 packets of data. When BS 110 receives the ACK indicator, BS 110 may purge the buffer of the identified 3 packets of data.
Once BS 110 has purged its buffer, BS 110 may prepare 3 packets of new data to transmit to SS 130a. In some scenarios, BS 110 may communicate with each of RSs 120a, 120b, and 120c to determine the localized retransmission of data so that each RS 120 can receive the correct data from its most direct node along the uplink direction (i.e., superordinate node). When BS 110 has determined how to localize retransmission, in a system performing centralized allocation of resources, BS 110 may then re-allocate the resources along the transmission path. Alternatively, in a system performing distributed allocation of resources, each node in the transmission path may re-allocate resources to a next node along the transmission path (uplink or downlink). In either case, once the resources have been re-allocated, BS 110 may send the 3 packets of new data to SS 130a via RS 120a. RS 120a may then add the 2 packets of data lost between RS 120a and RS 120b to the data for retransmission to RS 120b (i.e., Data (2+3′)). RS 120b may receive Data (2+3′), transmit Data (2+3′) to RS 120c, and store the new data (i.e., Data (3′)) in its buffer. Similarly, RS 120c may receive Data (2+3′) and add the 3 packets of data lost between RS 120c and SS 130a to Data (2+3′), resulting in Data (5+3′). RS 120c may transmit Data (5+3′) to SS 130a, and store a copy of the new data (i.e., Data (3′)) in its purge buffer. SS 130a may receive both the new and retransmitted data (i.e., Data (5+3′)), and transmit an ACK indicator to BS 110 via RS 120a, 120b, and 120c. The transmitted ACK indicator may acknowledge receipt of 8 packets of data (i.e., ACK (5+3′)), with 3 packets being new data and 5 packets being retransmitted data. Upon receipt of the ACK indicator, BS 110 may purge its buffer of both the new and old data.
FIG. 3b is a signaling diagram 300b illustrating operation of an exemplary ARQ transmission control mechanism using pre-ACK or per-hop ACK communication similar to that of FIG. 3a. As in FIG. 3a, FIG. 3b shows that BS 110 may transmit control information to all nodes in a transmission path, e.g., RS 120a, RS 120b, RS 120c, and SS 130a, to perform resource allocation in a system performing centralized resource allocation. In the alternative, in a system performing distributed allocation of resources, each node in the transmission path may allocate resources to a next node along the transmission path (uplink or downlink). In either case, once the resource allocation has been completed, BS 110 may send data to the destination node, SS 130a, via the intermediate nodes RS 120a, RS 120b, and RS 120c. In addition, BS 110 may store a copy of the sent data in its buffer. In the example of FIG. 3b, the data may consist of eight (8) packets of data.
RS 120a may successfully receive the 8 packets of data, store a copy of the data in its buffer, and send the data to RS 120b. In addition, RS 120a may send a pre-ACK indicator to BS 110 acknowledging receipt of the 8 packets of data. Between RS 120a and RS 120b, however, 2 packets of data may be lost due to corruption, interference, error, etc., and RS 120b may receive only 6 packets of data. RS 120b may transmit the 6 packets of data to RS 120c and store a copy of the transmitted data in its buffer. In addition, RS 120b may send a pre-ACK indicator to BS 110 acknowledging receipt of 6 packets of data.
RS 120c may receive the 6 packets of data, transmit the 6 packets of data to SS 130a, and store a copy of the transmitted data in its buffer. RS 120c may send a pre-ACK indicator to BS 110 acknowledging receipt of the 6 packets of data. In the transmission between RS 120c and SS 130a, however, another 3 packets of data may be lost, resulting in only 3 packets of data being successfully received by SS 130a. Upon receipt of the 3 packets of data, SS 130a may send an ACK indicator along the uplink transmission path to BS 110 via RS 120c, RS 120b, and RS 120c. The ACK indicator may be used to identify and acknowledge successful receipt of the 3 packets of data.
In contrast to FIG. 3a, however, FIG. 3b exemplifies a scenario in which BS 110 prepares 8 packets of new data for transmission to SS 130a. As a result, RS 120a will receive 8 packets of new data and add the 2 packets of data that were lost between RS 120a and RS 120b. Upon receipt of the data (i.e., Data (2+8′)), RS 120b may experience congestion and/or buffer overflow. RS 120b may attempt to forward the received Data (2+8′) to RS 120c, and RS 120c may similarly experience congestion and/or buffer overflow. A similar result is achieved when RS 120c adds the 3 packets of data previously lost between RS 120c and SS 130a (i.e., Data (5+8′)), and sends the Data (5+8′) to SS 130a. That is, SS 130a will also experience congestion and/or buffer overflow.
Because of the increased number of segments in a transmission path, the effects of error detection and correction may be felt more acutely in a multi-hop wireless network than in a single-hop wireless network. In addition, both intra-cell handover (e.g., between RS 120c and RS 120b) and inter-cell handover (e.g., between RS 120c and an RS 120 outside the coverage of BS 110) may also increase the effects of error detection and correction in a wireless network. For example, referring to FIG. 1, if SS 130c moves from RS 120c to RS 120b, packet data that may not yet have been transmitted by RS 120c to SS 130c before handover may be lost, requiring end-to-end retransmission of packet data. As another example, if SS 130c moves from RS 120c to another RS 120 outside of range of coverage of BS 110 (not shown in FIG. 1), packet data that may not yet have been transmitted by RS 120c to SS 130c before handover may also be lost, and require end-to-end retransmission of packet data. Thus, traditional error detection and correction in multi-hop transmission may cause significant increases in overhead, longer delays, and wasted resources.
The disclosed embodiments are directed to overcoming one or more of the problems set forth above.